use crate::tiling::tiles::tile_list::*;

#[test]
fn test_initialize_data_structures() {
    let (
        horizontal_connector_names,
        vertical_connector_names,
        horizontal_connector_map,
        vertical_connector_map,
        current_horizontal_connector_id,
        current_vertical_connector_id,
        tiles,
        tile_id,
    ) = TileList::initialize_data_structures();

    assert_eq!(
        vec!["🃟".to_string(), "None".to_string()],
        horizontal_connector_names
    );
    assert_eq!(
        vec!["🃟".to_string(), "None".to_string()],
        vertical_connector_names
    );
    assert_eq!(
        HashMap::from([(None, 1), (Some("".into()), 1), (Some(" ".into()), 1)]),
        horizontal_connector_map
    );
    assert_eq!(
        HashMap::from([(None, 1), (Some("".into()), 1), (Some(" ".into()), 1)]),
        vertical_connector_map
    );
    assert_eq!(1, current_horizontal_connector_id);
    assert_eq!(1, current_vertical_connector_id);
    assert_eq!(Vec::<Tile>::new(), tiles);
    assert_eq!(0, tile_id);
}
